/**
 * MP Software.
 */
package service.ioc;

import java.util.ArrayList;
import java.util.List;

import play.modules.guice.GuiceSupport;

import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Module;

/**
 * @author Jeremiah John M. Macariola
 *
 */
public class GuiceInjector extends GuiceSupport {

    @Override
    protected Injector configure() {
        List<Module> modules = new ArrayList<Module>();

        modules.add(new BonchonPayrollCalculatorModule());
        modules.add(new AristocratPayrollCalculatorModule());
        modules.add(new PayrollCalculatorFacadeModule());
        modules.add(new PaymentDeductionFacadeModule());
        modules.add(new PayrollRegisterServiceModule());
        modules.add(new SqlHelperModule());

        return Guice.createInjector(modules);
    }

}
